.flip-list-move {
    transition: transform 0.5s cubic-bezier(0.5, 0, 0.5, 1);
    transition: transform 0.5s cubic-bezier(0.5, 0, 0.5, 1);
    transition-delay: calc(var(--flip-delay) * 50ms);
}

/* ---------------------------------- */
html {
    font-size: 62.5%;
    height: 100%;
    background: #2c3e50;
}

body {
    min-height: 100%;
    display: grid;
    place-items: center;
    text-align: center;
}

.button {
    border: none;
    color: #fff;
    background: #42b983;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font: inherit;
    font-size: 1.25rem;
    padding: 0.5em 1em;
    border-radius: 0.3em;
    cursor: pointer;
}

.shuffle {
    color: #2c3e50;
    background: #fff;
}

.media-gallery {
    display: block;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 2rem;
    margin: 1rem auto;
    width: 80vmin;
    position: relative;
}

.media-post {
    display: inline-block;
    padding: 1vmin;
    border-radius: 2vmin;
    box-shadow: 0 10px 5px rgba(0, 0, 0, 0.2);
    margin: 0;
    background: #fff;
    position: relative;
    cursor: pointer;
}
.media-post img {
    border-radius: 1vmin;
    display: block;
    max-width: 100%;
    height: auto;
}
.media-post figcaption  {
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    font-weight: bold;
    padding: 1rem 1.5rem;
    z-index: 2;
    font-size: 2rem;
    text-shadow: 0 1px 2px #000;
}
